<?php

/**
 * Created by XM·Tan.
 * Motto: Who shuts love out, in turn shall be shut out from love.
 * Date: 2020/11/14 1:53
 */
declare(strict_types=1);
namespace app\api\controller;

use app\BaseController;
use app\common\lib\Show;
use think\exception\ValidateException;
use app\common\business\Sms as SmsBus;

class Sms extends BaseController {

    public function code() :object {
        $phoneNumber = input('param.phone_number', '', 'trim');
        $data = ['phone_number' => $phoneNumber];
        try {
            validate(\app\api\validate\User::class)->scene('send_code')->check($data);
        } catch (ValidateException $e) {
            return Show::error($e->getMessage());
        }

        // 1、 再对接一个短信运营商， 百度云 或者 京东， 或者其他的
        // 2、 做一下流量控制， 比如： 20%的流量 =》 对接 百度， 80% 对接阿里云

        // 调用business 层的数据
        if (SmsBus::sendCode($phoneNumber, config('status.get_code_len'), config('status.set_send_code_type'))) {
            return Show::success([], '发送验证码成功');
        }
        return Show::error('发送验证码失败');
    }

}